[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
##############################################################################
###+----------------+#########################################################
#+-| SAVE_WORK_AREA |-------------------------------+#########################
#| +----------------+ Temporarily saves information |#########################
#|                    about the selected database.  |#########################
#+--------------------------------------------------+#########################
##############################################################################
##############################################################################
#+--| Summary |------------------+############################################
#|     #INCLUDE database.hdr     |############################################
#+-------------------------------+############################################
##############################################################################
##############################################################################
#+--| Syntax |--------------------------------+###############################
#|     PROCEDURE save_work_area PROTOTYPE     |###############################
#+--------------------------------------------+###############################
##############################################################################
##############################################################################
#######+---| Description |--------------------------------------------+#######
#######| The save_work_area procedure temporarily saves information   |#######
#######| about the selected database work area.  This information can |#######
#######| then be restored by using the restore_work_area procedure.   |#######
#######| These procedures allow a subroutine to change the selected   |#######
#######| database without concern for the database of the calling     |#######
#######| program.                                                     |#######
#######+--------------------------------------------------------------+#######
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| *    This routine saves the current work area, assuring  |#########
#########| *    that the correct area will be selected for the      |#########
#########| *    calling procedure.                                  |#########
#########|                                                          |#########
#########| PROCEDURE get_price                                      |#########
#########|     DO save_work_area                                    |#########
#########|     SELECT price                                         |#########
#########|     SEEK sku_number                                      |#########
#########|     IF found()                                           |#########
#########|         ? "PRICE IS",price->normal                       |#########
#########|     ELSE                                                 |#########
#########|         ? "ITEM IS NOT ON FILE."                         |#########
#########|     ENDIF                                                |#########
#########|     DO restore_work_area                                 |#########
#########| ENDPRO                                                   |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| *    Use save_work_area if you are encoding a function   |#########
#########| *    to be included in a FORCE library.  This is so      |#########
#########| *    the user of your function never has to worry about  |#########
#########| *    the state of the SELECT.                            |#########
#########|                                                          |#########
#########| FUNCTION LOGICAL something                               |#########
#########|                                                          |#########
#########|     DO save_work_area       && save current work area.   |#########
#########|                                                          |#########
#########|     SELECT my_alias         && select new work area.     |#########
#########|     {...}                                                |#########
#########|     DO restore_work_area    && prepare to return.        |#########
#########| ENDPRO                                                   |#########
#########+----------------------------------------------------------+#########
##############################################################################

See Also: restore_work_area SELECT
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson